В этом году компания Veeam Software, мои большие и давние друзья (без малого почти 12 лет!), дали мне награду Veeam Vanguard за вклад в популяризацию продуктов и решений компании, а также в развитие индустрии виртуализации в целом.
Награду я эту получаю в третий раз, в первый раз я ездил в Лас-Вегас в 2015 году (репортажи здесь), второй - в Лондон (репортаж тут), а в этом году поеду в Новый Орлеан на конференцию VeeamON 2017, откуда также буду писать о новостях Veeam в области новых технологий и продуктов.
Те, кто знаком с подходом Veeam, знают, что компания традиционно является технологическим лидером отрасли, всегда первой анонсирует новые фичи, которые все потом воруют/копируют, а что самое главное - делает продукты простыми в эксплуатации, элегантными на вид и мощными внутри.
И еще одно - Veeam умеет здорово развлекать своих гостей на конференциях. На картинке клуб Omnia одного из главных казино Вгеаса - Caesars Palace (кстати, на зеленых трусах девушки - логотип Veeam):
Приезжайте на конференцию, пишите мне или подходите прямо там, встретимся, и я вам расскажу, как начиналась виртуализация в России))
И немного более официального текста о VeeamON 2017:
Конференция VeeamON 2017 является главным событием года в области обеспечения доступности ИТ-инфраструктуры. Компания Veeam Software приглашает администраторов, маркетологов, разработчиков и других ИТ-специалистов принять участие в одном из наиболее открытых и интересных мероприятий по теме виртуализации, защиты данных и обеспечения непрерывной работы сред виртуализации на всех уровнях.
В 2017 году Veeam планирует принять в 2 раза больше участников (около 3,500 человек) в Новом Орлеане, США. В первый день будут выступать такие видные докладчики, как Марк Руссинович (CTO, Microsoft Azure) и Sanjay Poonen (Customer Operations, VMware). Всего в течение трех дней конференции будет больше 85 сессий на технические и бизнес темы.
Также во время конференции Veeam традиционно отдаст чек на $10,000 USD человеку, который покажет лучшее знание продуктов Veeam.
Эта статья предназначена в помощь администраторам VDI, которые обновили свои хосты ESXi, оснащенные картами GRID vGPU, до vSphere версии 6.5. Как сказано Джереми Майном в этом форуме NVIDIA, vSphere 6.5 и драйвер GRID от ноября 2016 требует изменения режима GPU с «Shared» (vSGA) на «Shared Direct» (vGPU) через веб-клиент для включения поддержки режима vGPU виртуальными машинами...
Напомним, что этот продукт позволяет централизованно управлять хост-серверами VMware ESXi за счет автоматизации операций системных администраторов. По-сути, vSphere Management Assistant представляет собой "вынесенную" за пределы серверов ESXi сервисную консоль (консольную ОС), которая для виртуальной инфраструктуры присутствует в единственном экземпляре, но централизованно исполняет сценарии на хостах, используя различные интерфейсы VMware vSphere.
Теперь вместо vMA предлагается использовать интерфейсы vCLI и PowerCLI. В целом, этот подход выглядит достаточно логичным - большинство функций удаленного управления платформой взяли на себя эти фреймворки, а сами ESXi и vCenter отлично управляются через стандартные средства и API.
Сама VMware предлагает использовать интерфейс vSphere Command Line Interface (vCLI) в качестве альтернативы vMA. Между тем, она заявляет о том, что команды esxcfg- и vicfg- также будут выведены из эксплуатации (deprecated). Поэтому администраторам vSphere стоит проверить, не используются ли эти две команды в старых скриптах для управления виртуальной инфраструктурой (подробнее о заменах для этих команд - тут).
Вот какие еще предлагаются альтернативы интерфейсу vCLI и устаревшему модулю vMA:
Фреймворк PowerCLI и средство кроссплатформенного использования PowerCLI Core.
Все администраторы платформы VMware vSphere знают, что такое параметры Shares и Reservation, но не все понимают, как именно они работают для виртуальных машин и пулов ресурсов. Мы уже затрагивали эту тему для виртуальных машин, не погружаясь в распределение ресурсов между пулами (хотя там все работает точно так же).
Основным источником знаний о Reservation и Shares является документ "Resource Management Guide", однако он большой и нудный, а на днях VMware выпустила более простую версию, сфокусированную на управлении кластером DRS с точки зрения резерваций и шар - "DRS Cluster Management with Reservation and Shares".
Именно из этого документа лучше узнать, как работают Shares (распределение ресурсов) и Reservations (гарантирование ресурсов) в рамках отдельных виртуальных машин, пулов ресурсов в рамках кластера DRS с учетом возможности заимствования ресурсов из родительского пула (expandable reservation).
Конечно же, если вы администратор платформы VMware vSphere, то вы должны были разобраться с этим всем еще в самом начале, но если какие-то аспекты работы механизмов гарантирования и распределения ресурсов вам остались непонятными, обязательно пробегитесь по документу "DRS Cluster Management with Reservation and Shares".
Платформа VMware vSphere 6.5 станет последней, которая включает в себя данное средство - для всех последующих версий решения резервное копирование виртуальных машин нужно будет осуществлять с помощью сторонних продуктов. Например, Veeam Backup and Replication - он уже и так является практически стандартом на рынке резервного копирования виртуальных машин и занимает большую его часть, так что ничего страшного для большинства не произойдет.
На тему окончания поддержки Data Protection есть специальная статья KB 2149614, в которой говорится, что теперь VMware будет фокусироваться на интерфейсе vSphere Storage API, отдавая нишу продуктов для резервного копирования партнерам. В то же время VMware продолжит предоставление поддержки по VDP текущим пользователям в соответствии с правилами, указанными в VMware Lifecycle Product Matrix, до даты End of General Support (EOGS).
Тем, кто уже использует Data Protection компания Dell дарит бесплатную лицензию на 3 года на продукт Avamar Virtual Edition (AVE) для первых 4 ТБ защищаемых данных. Когда так просто раздают лицензии - становится понятно, что продукт не вполне конкурентоспособен. Поэтому берите лучше Veeam)
Ну и для особо обеспокоенных снятием с производства продукта vSphere Data Protection компания VMware выпустила специальный FAQ.
В феврале мы писали о средстве IOInsight, которое позволяет детально взглянуть на характеристики взаимодействия виртуальных машин с хранилищами и провести анализ метрик ввода-вывода на уровне отдельных VMDK-дисков.
На днях на сайте проекта VMware Labs появилось обновление этого виртуального модуля - IOInsight 1.1.
Давайте посмотрим на новые возможности последней версии:
Утилита командной строки для установки статического IP-адреса или DHCP.
Опция для установки NTP-севреров.
Опция в интерфейсе, позволяющая настроить отсылку логов и результатов вывода IOInsight разработчикам для последующего решения проблем.
Вот какие ошибки были исправлены и улучшения добавлены:
Не так давно мы писали о том, что компания VMware выпустила обновленную версию решения для виртуализации настольных ПК предприятия VMware Horizon 7.1. Среди прочих новых возможностей там были и улучшения протокола Blast Extreme, которые мы рассмотрим подробнее ниже.
Напомним, что в Blast Extreme появилась технология Adaptive Transport, которая дает заметный прирост производительности в низкокачественных сетях (с коэффициентом потерь пакетов 20% и выше). Также технологическое превью этого протокола стало доступно для физических компьютеров.
Оптимизация производится за счет того, что Blast Extreme автоматически подстраивается под параметры Bandwidth, Latency и Packet Loss в различных сетях (LAN, public Wi-Fi и т.п.). Протокол Blast поддерживает более 125 тонких клиентов, десктопов, лэптопов и мобильных устройств. Blast Extreme работает по протоколам TCP и UDP на одном порту - 443, с использованием шифрования SSL.
Улучшения, сделанные в Blast Extreme для сетей с высокими показателями задержек (latency), позволяют ускорить передачу файлов в среднем до 4-6 раз. Фреймрейт и качество картинки, принимаемой пользователями в сетях с малой пропускной способностью, улучшилось до 50% по сравнению с прошлыми релизами:
VMware проводила тесты в сети с пропускной способностью 1.5 Mbps и задержкой 200 ms, где потери пакетов доходили до 20% - так вот там производительность возрастала до 12 раз!
Вот интересное видео на эту тему - производительность протокола при запуске различных приложений и просмотре видео на клиенте в Калифорнии с виртуального десктопа, который запущен в сингапурском датацентре:
Blast Extreme предоставляет 3 опции соединения для пользователей:
Excellent (TCP only)
Typical (default, mixed UDP/TCP)
Poor (UDP only)
Пункт Excellent подойдет для LAN-сетей с хорошим качеством (высокая скорость и низкие потери пакетов). В этом случае будет использоваться только TCP протокол - и для управления передачей, и для отправки самих данных.
В случае выбора Poor протокол Blast Extreme будет использовать только UDP для управления передачей и отсылки данных. Это оптимально для WAN-сетей с большими задержками и коэффициентом потерь пакетов 20% и более.
Ну и дефолтный пункт - Typical - это оптимальный выбор для 99% пользователей. В этом случае будет использоваться TCP для управления передачей, а UDP для основной отправки данных, с учетом адаптивного алгоритма. Если по каким-то причинам UDP будет недоступен (например, заблокирован политикой на сетевом экране), то произойдет незаметное для пользователя переключение на TCP.
Обновленный Blast Extreme с технологией adaptive transport доступен для клиентов Horizon Client for Windows, Mac, Linux, iOS и Android версий 4.4 и выше.
Компания VMware время от времени выпускает видеоролики серии Whiteboarding, где технические специалисты компании рассказывают в понятной форме о продуктах и технологиях, рисуя на доске схемы и элементы интерфейса.
На днях вышло несколько новых видео, посвященных VMware vSphere и PowerCLI и заслуживающих внимания (а еще и со стильным бородатым мужиком в последнем ролике). Давайте взглянем:
О шифровании ВМ и трафика vMotion
О режиме безопасной загрузки (Secure Boot) в VMware vSphere
О механизме доступности управляющего сервера - VMware vCenter High Availability
О топологии составляющих архитектуры VMware vCenter
Об апгрейде VMware vCenter и миграции на vCenter Server Appliance (vCSA)
О методах API access methods в интерфейсе PowerCLI
Ну и, конечно же, обратите внимание на плейлист компании VMware, посвященный новой версии платформы VMware vSphere 6.5 - там есть что посмотреть.
Мы часто пишем о решениях StarWind, среди которых главное, конечно же - это лучший на рынке продукт StarWind Virtual SAN, позволяющий организовать кластеры отказоустойчивых хранилищ под виртуализацию всего на базе двух физических серверов.
Но не все знают, что у StarWind есть удобный и функциональный плагин StarWind vCenter Plugin, который интегрируется с VMware vSphere Web Client, являющийся основным средством администрирования платформы:
Сам плагин предоставляет ровно ту же функциональность, что и StarWind Management Console (кликабельно):
Для работы Starwind vSphere Plugin потребуется виртуальный модуль StarWind Web Management Appliance (SWMA) или виртуальная машина Gateway Virtual Machine (она также называется Starwind Management Console Thin Client).
На интересную проблему обратил внимание Anthony Spiteri в своем блоге - у него после развертывания платформы VMware ESXi 6.5 на сервере с SSD-дисками ISO-образ Windows 2016 полчаса заливался на датастор (интересно, что нам некоторые читатели писали о подобной проблеме). Потом он создал новую виртуальную машину и поставил устанавливаться Windows, а ESXTOP показывал скорость записи 10-20 МБ/с, в то время как она должна была быть на уровне 400-500 МБ/с.
Он стал ковырять проблему дальше и раскопал драйвер, который используется для SATA-контроллера:
Далее он проверил, какие драйверы подсистемы хранения сейчас загружены и используются. Оказалось их два: приведенный выше драйвер и нативный драйвер VMware:
Как видим, он затем вывел список системных модулей и увидел, что нативный драйвер отключен. После того, как он перезагрузил хост ESXi, все стало летать - гостевая ОС установилась за 5 минут, а тесты внутри ВМ показали высокую скорость чтения-записи.
Как некоторые знают, в VMware vSphere 6.5 появилась (а точнее вернулась снова) возможность Automatic VMFS UNMAP - возврат дискового пространства виртуальной машины (ее VMDK) на сторону дискового массива средствами VAAI (vStorage API for Array Integration). Если раньше эта возможность требовала выполнения различных команд, то теперь управление этой штукой доступно из GUI, а возврат дисковых блоков происходит автоматически. Работает UNMAP только для "тонких" (Thin Provisioned) LUN, на которых размещаются тома VMFS.
Из GUI vSphere Web Client можно управлять только UNMAP'ом для томов VMFS 6, для пятой версии файловой системы это нужно делать вручную с помощью ESXCLI. Кроме того, механизм UNMAP работает в асинхронном режиме, а иногда хочется почистить хранилища от неиспользуемых блоков прямо сейчас.
Поэтому весьма кстати, что на сайте EnterpriseDaddy обнаружился полезный PowerCLI-скрипт, который возвращает дисковое пространство в LUN для заданного хранилища хоста ESXi.
Эта функция принимает на вход имя хоста ESXi и Datastore, а также отключает таймаут на исполнение операций, так как возврат дискового пространства LUN может занять часы.
Function Perform-VMFSUnmap {
[CmdletBinding()]
param(
[Parameter(
Mandatory=$true)]
[String[]]$Datastore,
[String]$ESXiHost
)
Set-PowerCLIConfiguration -WebOperationTimeoutSeconds -1 -Scope Session -Confirm:$false
$ESXHost = Get-VMHost $ESXiHost
$DatastoreName = Get-Datastore $Datastore
Write-Host 'Using ESXCLI and connecting to $VMHost' -ForegroundColor Green
$esxcli = Get-EsxCli -VMHost $ESXHost
Write-Host 'Unmapping $Datastore on $VMHost' -ForegroundColor Green
$esxcli.storage.vmfs.unmap($null,$DatastoreName,$null)
}
Многие администраторы виртуальной инфраструктуры VMware vSphere или Horizon View в целях мониторинга пользовательской активности хотели бы иметь возможность снимать скриншоты консоли виртуальных машин. На сайте vcloudnine появился такой скрипт для интерфейса PowerCLI:
Для получения скриншота ВМ убедитесь, что настройки энергосбережения у нее отключены, иначе получите черный экран, в который машина уходит через несколько минут неактивности.
На сайте проекта VMware Labs появилась действительно достойная внимания утилита - IOInsight, доступная в виде готового к развертыванию виртуального модуля на платформе vSphere. Она позволяет детально взглянуть на характеристики взаимодействия виртуальных машин с хранилищами и провести анализ метрик ввода-вывода на уровне отдельных VMDK-дисков.
Все это позволит принимать решения о тюнинге производительности и планировании емкостей по пропускной способности на основе данных, выводимых в графиках и отчетах:
В решении каких проблем может помочь IOInsight:
Самостоятельная оптимизация производительности и планирование хранилищ пользователями vSphere.
Отчет из IOInsight может помочь при обращении в техподдержку VMware, что ускорит решение проблемы.
Сотрудники VMware Engineering могут подсказать решения по оптимизации ваших продуктов.
IOInsight собирает все метрики с хостов ESXi по вводу-выводу и представляет их в агрегированном виде для анализа. При этом в отчете IOInsight нет никакой чувствительной информации о приложениях и системах, так что можно смело отдавать его сотрудникам VMware.
Кроме того, предполагается, что администраторы и разработчики сами будут писать плагины к IOInsight, поскольку в состав решения включены SDK и development guide (как видите на картинке, два плагина уже есть). Руководство для обычных пользователей доступно вот тут.
Лучшие практики по использованию IOInsight:
2-4 виртуальных процессора на виртуальный модуль (vCPU)
2 ГБ и более оперативной памяти
Желательно разместить IOInsight в той же сети, что и хосты, которые планируется мониторить
Нужно выбирать не более 8 VMDK, чтобы не было слишком высокой нагрузки
Рекомендуемый период анализа данных - 10-30 минут
Cache Simulation analyzer создает нагрузку на процессор, поэтому его нужно запускать для 1 или 2 симулируемых конфигураций кэша (не более)
Утилита IOInsight работает, начиная с версии VMware vSphere 5.5, а скачать ее можно по этой ссылке.
Шесть лет назад, признанный VMware guru William Lam написал отличную статью на эту тему. Сегодня мы автоматизируем его решение с помощью PowerCLI. Прошу любить и жаловать функцию Set-MaxSnapshotNumber из моего PowerCLI Vi-Module модуля. Функция может выполнять следующие 3 действия...
На сайте проекта VMware Labs очередное обновление - утилита vSphere Compatibility Predictor, которая позволяет просканировать все компоненты VMware Platform Services Controllers (PSC) на предмет соответствия версий vCenter, а также решений, подключенных к этим vCenter:
Это все может оказаться очень полезным, когда ваша инфраструктура находится в процессе апгрейда, и нужно понять, какие из компонентов имеют какие версии, чтобы идти к нужному бейслайну по билдам vCenter и других продуктов на разных сайтах/площадках и не пропустить необходимые обновления.
vSphere Compatibility Predictor связывается с одним из PSC, опрашивает его компоненты, а далее соединяется со всеми присоединенными к нему компонентами и опрашивает их. Если вы выберете Upgrade View в утилите, то она покажет, какие решения на данный момент совместимы с vCenter Server 6.5.
Напомним также, что некоторое время назад мы писали об утилите VMware SDDC Discovery Tool, которая предназначена для сбора информации об окружении VMware vCenter и визуализации данных в виде списка и "карты датацентра". Виртуальный же модуль vSphere Compatibility Predictor сфокусирован больше на задаче отслеживания версий компонентов инфраструктуры при ее апгрейде (для этого и нужен Upgrade View).
Утилита vSphere Compatibility Predictor представляет собой приложение под Windows, котрое можно скачать по этой ссылке.
Компания VMware вместе с выпуском обновленной версии платформы vSphere 6.5 выпустила и обновленный интерфейс для администрирования виртуальной инфраструктуры через PowerShell - PowerCLI 6.5 R1. Ну а на днях стал доступен большой и информативный постер на эту тему - VMware PowerCLI 6.5 Release 1 Reference Poster.
Напомним, что постер о PowerCLI 6.3 доступен у нас по ссылке тут (кому интересно - мы писали и о постере PowerCLI 5.8).
В PowerCLI 6.5 R1 появилось множество полезных командлетов для работы с хранилищами, которые добавляют функциональность для работы с vSAN, VVOLs и виртуальными дисками. Также появились отдельные командлеты для работы с виртуальными дисками (при этом нет необходимости обращаться к самой виртуальной машине).
Скачать VMware PowerCLI 6.5 R1 можно по этой ссылке. Release notes доступны тут, User Guide можно скачать здесь, а changelog вот тут. Постер можно скачать по этой ссылке.
PowerShell функция Connect-VMHostPutty из моего PowerCLI Vi-Module модуля поможет вам открывать несколько SSH-сессий putty к хостам ESXi без ввода пароля. Функция на самом деле не требует, чтобы на вашем компьютере был установлен VMware PowerCLI. Всё, что нужно - это PowerShell версии 3.0 или выше. Это очень короткая и простая функция всего с двумя параметрами и только один из них обязательный...
Как известно, с некоторых пор на предприятиях стало модно использовать мессенджер Slack, в котором есть удобные средства совместной работы и интеграции с различными Enterprise-сервисами (например, JIRA).
Компания OpVizor выпустила виртуальный модуль OpBot Virtual Assistant, реализующий бота Slack, который позволит вам исполнять команды PowerCLI / PowerShell для вывода различных статистик прямо в виде сообщений в адрес бота.
Установка виртуального модуля OpBot проста:
Интегрируем OpBot в мессенджер Slack (получаем токен Slack API для импорта в виртуальный модуль).
Скачиваем и конфигурируем OpBot Virtual Appliance.
Для оперирования этого виртуального модуля надо создать специальный аккаунт (желательно с правами Read Only по вполне понятным причинам). При работе с OpBot есть следующие нюансы:
На данный момент один виртуальный модуль может работать с одним сервером vCenter и одним ботом.
Пермиссии задаются в настройках (все команды будут исполняться в контексте указанного аккаунта).
Несколько виртуальных модулей/серверов vCenter могут управляться как одним Slack-ботом, так и разными. Обе модели реализуются через повторное развертывание OVF-шаблона.
При работе используется механизм PowerCLI Core (со всеми его ограничениями).
Начать работу с OpBot Virtual Assistant можно по этой ссылке. Кстати, удобно использовать алиасы для выполнения команд, например:
@yourbotname alias badvms=posh get-view -ViewType VirtualMachine -Filter @{'RunTime.ConnectionState'='disconnected|inaccessible|invalid|orphaned'} | select name
@yourbotname badvms
Начнем с самого главного - в декабре этого года главному русскоязычному порталу о виртуализации VM Guru исполнилось 10 лет. Мы принимаем поздравления и искренне благодарим всех читателей за доверие к ресурсу.
Спасибо вам, ведь столько лет вести и поддерживать этот сайт мы никогда не смогли бы, если бы не ваш интерес к его материалам и вклад в обсуждение статей и заметок. И, конечно же, огромная благодарность нашим спонсорам - без вас здесь не было бы столько интересных публикаций, появляющихся на VM Guru ежедневно. Также мы от всего сердца благодарим наших авторов, которые сделали ресурс ценным с практической точки зрения и дали массу полезных советов.
Спасибо всем вам! Вместе мы создали лучший в мире сайт о виртуализации.
Тогда в декабре 2006 года, когда здесь появились первые статьи о виртуализации, я и не мог представить, что все так повернется: тогда я только начинал работать в Veeam, в 2008 мы с коллегами создали компанию VMC, участвовали в самом большом в России проекте по виртуализации серверов, в 2012 сделали испанский игровой сервис знакомств, а в 2014 начали заниматься издательством мобильных игр. Но все эти годы я ни на день не терял интереса к виртуализации, ежедневно (за очень редким исключением) публикуя статьи и заметки. Теперь их набралось более 4000, и тут действительно есть что почитать.
За все время нас посетило более 2 миллионов пользователей, просмотревших более 10 миллионов страниц, а на сайте проведено 35 человеко-лет.
Ну и, конечно же, от всей души поздравляю вас с наступающими Новым годом и Рождеством! Пусть у вас дома будет тепло и уютно, семья здорова и сыта, в голове будет много планов, а в душе и теле - масса сил на их реализацию.
Не останавливайтесь и не грустите! Ваш Александр Самойленко, от лица всех тех, кто принимал участие в создании VM Guru.
К сожалению, нету «прямого» пути для миграции шаблонов (VM Templates) с одного датастора на другой (т.н. процедура Storage VMotion). Представляю вашему вниманию функцию Move-Template2Datastore из моего PowerCLI Vi-Module модуля. Функция принимает объект(ы) Template и один объект датастора и производит 3 действия...
Мы уже много писали о новых возможностях обновленной версии платформы виртуализации VMware vSphere 6.5, а сегодня расскажем еще об одной - улучшениях механизма vSphere Host Profiles.
Напомним, что vSphere Host Profiles позволяют управлять конфигурациями хост-серверов VMware ESXi за счет создания эталонных профилей хостов, которые затем можно применить на хосты, нуждающиеся в приведении к заданным настройкам.
В VMware vSphere 6.5 в механизм Host Profiles были добавлены следующие возможности (по ссылкам можно опробовать их в виде Product Walkthroughs - то есть пошаговых гайдов на примере реального интерфейса продукта):
До vSphere 6.5 результатом сравнения профиля хоста с актуальными настройками на ESXi был отчет о том, какие параметры не соответствуют, но не было сравнения side-by-side - чтобы наглядно видеть актуальные и желаемые настройки. Теперь это показано в едином представлении (Host value и Host profile value):
В кластере, как правило, хосты настроены единообразно. Однако иногда необходимо на конкретном хосте сделать особенные настройки, которые называются host customizations (ранее это были answer files). Теперь их можно экспортировать в формате CSV в отдельные файлы и редактировать их офлайн, а потом залить обратно в Host Profiles.
Графический процесс создания и редактирования профилей хостов был существенно улучшен. Кроме того, появилась возможность копирования между профилями хостов, что очень удобно при изменении одной настройки, которую надо отреплицировать во все профили. Также это позволяет создавать иерархию профилей, по которой должны спускаться некоторые настройки (например, пароль root).
Ну и напоследок - обучающее видео, в котором показаны возможности vSphere Host Profiles 6.5:
А недавно на сайте blog.igics.com появился интересный и полезный PowerCLI-сценарий, который позволит вам вывести в одном гриде (или в файл) все виртуальные машины и версии VMware Tools в них. Вы, конечно же, можете посмотреть версии VMware Tools в vSphere Client, но если у вас большая инфраструктура, да еще и несколько серверов vCenter, то следить за версиями тулзов во всех виртуальных машинах через клиент будет затруднительно.
И тут на помощь вам придет следующий скрипт:
######################################################################################################################################
# Author: David Pasek
# E-mail: david.pasek@gmail.com
# Twitter: david_pasek
# Creation Date: 2016-11-25
#
# Use case:
# Key use case of this script is to report VMtools from all VMs in vCenter
#
# Disclaimer:
# Use it on your own risk. Author is not responsible for any impacts caused by this script.
######################################################################################################################################
#
# CHANGE FOLLOWING VARIABLES BASED ON YOUR SPECIFIC REQUIREMENTS
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
#
# Report type - table, grid, file, csv-file
$REPORT_TYPE = "csv-file"
# Report file name without file extension. Extension is automatically added. File is created in current working directory.
$REPORT_FILE_NAME = "report-vmtools"
######################################################################################################################################
Clear-Host
# We need VMware PowerCLI snapin
$o = Add-PSSnapin VMware.VimAutomation.Core
$o = Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
# Connect to vCenter
Write-Host "Connecting to vCenter ..."
$VC = Read-Host "Enter one vCentre Server or multiple vCenter servers delimited by comma."
Write-Host "Enter vCenter credentials ..."
$CRED = Get-Credential
Connect-VIServer -Server $VC -Credential $CRED -ErrorAction Stop | Out-Null
# Add new property (ToolsVersion) to VM
New-VIProperty -Name ToolsVersion -ObjectType VirtualMachine -ValueFromExtensionProperty 'Config.tools.ToolsVersion' -Force | Out-Null
# Initalize report
$Report = @()
foreach ($vm in Get-VM) {
# Numbers mapping is from https://packages.vmware.com/tools/versions
Switch ($vm.ToolsVersion) {
7302 {$GuestToolsVersion = "7.4.6"}
7303 {$GuestToolsVersion = "7.4.7"}
7304 {$GuestToolsVersion = "7.4.8"}
8192 {$GuestToolsVersion = "8.0.0"}
8194 {$GuestToolsVersion = "8.0.2"}
8195 {$GuestToolsVersion = "8.0.3"}
8196 {$GuestToolsVersion = "8.0.4"}
8197 {$GuestToolsVersion = "8.0.5"}
8198 {$GuestToolsVersion = "8.0.6"}
8199 {$GuestToolsVersion = "8.0.7"}
8290 {$GuestToolsVersion = "8.3.2"}
8295 {$GuestToolsVersion = "8.3.7"}
8300 {$GuestToolsVersion = "8.3.12"}
8305 {$GuestToolsVersion = "8.3.17"}
8306 {$GuestToolsVersion = "8.3.18"}
8307 {$GuestToolsVersion = "8.3.19"}
8384 {$GuestToolsVersion = "8.6.0"}
8389 {$GuestToolsVersion = "8.6.5"}
8394 {$GuestToolsVersion = "8.6.10"}
8395 {$GuestToolsVersion = "8.6.11"}
8396 {$GuestToolsVersion = "8.6.12"}
8397 {$GuestToolsVersion = "8.6.13"}
8398 {$GuestToolsVersion = "8.6.14"}
8399 {$GuestToolsVersion = "8.6.15"}
8400 {$GuestToolsVersion = "8.6.16"}
8401 {$GuestToolsVersion = "8.6.17"}
9216 {$GuestToolsVersion = "9.0.0"}
9217 {$GuestToolsVersion = "9.0.1"}
9221 {$GuestToolsVersion = "9.0.5"}
9226 {$GuestToolsVersion = "9.0.10"}
9227 {$GuestToolsVersion = "9.0.11"}
9228 {$GuestToolsVersion = "9.0.12"}
9229 {$GuestToolsVersion = "9.0.13"}
9231 {$GuestToolsVersion = "9.0.15"}
9232 {$GuestToolsVersion = "9.0.16"}
9233 {$GuestToolsVersion = "9.0.17"}
9344 {$GuestToolsVersion = "9.4.0"}
9349 {$GuestToolsVersion = "9.4.5"}
9350 {$GuestToolsVersion = "9.4.6"}
9354 {$GuestToolsVersion = "9.4.10"}
9355 {$GuestToolsVersion = "9.4.11"}
9356 {$GuestToolsVersion = "9.4.12"}
9359 {$GuestToolsVersion = "9.4.15"}
9536 {$GuestToolsVersion = "9.10.0"}
9537 {$GuestToolsVersion = "9.10.1"}
9541 {$GuestToolsVersion = "9.10.5"}
10240 {$GuestToolsVersion = "10.0.0"}
10245 {$GuestToolsVersion = "10.0.5"}
10246 {$GuestToolsVersion = "10.0.6"}
10247 {$GuestToolsVersion = "10.0.8"}
10249 {$GuestToolsVersion = "10.0.9"}
10252 {$GuestToolsVersion = "10.0.12"}
10272 {$GuestToolsVersion = "10.1.0"}
0 {$GuestToolsVersion = "Not installed"}
2147483647 {$GuestToolsVersion = "3rd party - guest managed"}
default {$GuestToolsVersion = "Unknown"}
}
$vminfo = New-Object -Type PSObject -Property @{
Name = $vm.Name
VMhardwareVersion = $vm.Version
ToolsVersion = $vm.ToolsVersion
GuestToolsVersion = $GuestToolsVersion
}
$Report += $vminfo
}
# Show report
Switch ($REPORT_TYPE) {
"grid" { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | Out-GridView }
"file" { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | Out-File -FilePath "$REPORT_FILE_NAME.txt" }
"csv-file" { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | export-csv "$REPORT_FILE_NAME.csv" }
default { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | Format-Table }
}
Disconnect-VIserver -Server $VC -Force -Confirm:$false
Форму отчета можно редактировать в переменной $REPORT_TYPE, которая задает одно из следующих представлений:
Стандартный вывод таблицы PowerShell в терминале (значение table)
Представление PowerShell GridView (grid)
Текстовый файл, содержащий таблицу (file)
Файл Comma separated values (csv-file)
Прогнав скрипт, мы получим вот такой результат, из которого можно сделать вывод о том, в каких виртуальных машинах нужно обновить VMware Tools (показывается еще и Virtual Hardware Version):
На днях компания VMware выпустила несколько интересных технических документов, которые могут оказаться полезными в свете выхода новой версии платформы виртуализации VMware vSphere 6.5. Но для начала - интересный ролик о создании кластеров VMware Virtual SAN в маршрутизируемых сетях:
Видео будет полезно всем тем, кто хочет создавать распределенные кластеры Virtual SAN, разнося узлы по разным подсетям. На эту тему есть также несколько полезных ресурсов:
В рамках стрессового тестирования, описанного в документе, были проверены следующие аспекты работы VCHA (vCenter High Availability):
Скорость восстановления VCHA и выполнение политики recovery time objective (RTO)
Производительность сервера при включенном VCHA
Накладные расходы VCHA
Влияние на статистики vCenter Server
Влияние на сеть
Сравнение External Platform Services Controller (PSC) со встроенным Embedded PSC
Второй документ - это "vSphere 6.5 Update Manager Performance and Best Practices". Там описаны лучшие практики по эксплуатации VMware Update Manager и рассказано о производительности VUM. Весьма интересна следующая картинка из документа:
Выходит, что VUM on Linux (который интегрирован с vCSA) работает существенно быстрее, чем его коллега под Windows (в 2 раза для некоторых операций).
Третий документ - "vSphere Virtual Machine Encryption Performance". Не так давно мы писали о том, как работает механизм шифрования в VMware vSphere 6.5, а из этого документа вы узнаете, насколько быстро он работает.
В документе множество графиков, показывающих, что latency при шифровании особенно не меняется (незначительно увеличивается), а вот нагрузка на CPU увеличивается где-то на 20%, что, впрочем, тоже не так уж и много.
Таги: VMware, Whitepaper, VUM, HA, vCenter, Performance
На сайте проекта VMware Labs не так давно появилась очередная полезная утилита для администраторов vSphere - PowerCLI Core. Эта штука позволяет пользователям применять те же самые командлеты PowerCLI на системах Linux, Mac и Docker, которые ранее были доступны только для Windows.
PowerCLI Core использует компоненты Microsoft PowerShell Core и .Net Core.
PowerCLI Core предоставляет мультиплатформенный язык сценариев, который позволяет управлять инфраструктурой VMware vSphere практически с любой ОС. Скрипты PowerCLI, которые были написаны ранее только для Windows-версий фреймворка, теперь можно портировать на различные операционные системы и запустить эти сценарии в них без необходимости их изменения.
На данный момент фреймворк реализует более 280 командлетов, но касаются они только основных возможностей vCenter и ESXi, а также распределенного виртуального коммутатора (vDS). Модули для работы с хранилищами, лицензиями и VMware Update Manager пока не поддерживаются:
Также пока нет и поддержки других расширенных модулей:
На днях компания VMware выпустила обновленную версию интерфейса PowerShell для управления виртуальной инфраструктурой VMware PowerCLI 6.5 R1, которая вышла сразу же после VMware vSphere 6.5.
Давайте посмотрим на новые возможности PowerCLI 6.5 R1:
Обновленные командлеты
Move-VM – теперь можно перемещать машины между серверами vCenter (а также между доменами SSO).
New-VM – можно задавать число ядер CPU.
Open-VMConsoleWindow – теперь поддерживается последняя версия VMware Remote Console (VMRC).
Также другие командлеты были обновлены, чтобы соответствовать vSphere 6.5 API.
Новые Storage Modules
В этой версии PowerCLI появилось множество модулей для работы с хранилищами, которые добавляют функциональность для работы с vSAN, VVOLs и виртуальными дисками. Теперь есть множество командлетов, сфокусированных на жизненном цикле всего кластера vSAN, создание которого теперь может быть полностью автоматизировано.
Вот новые модули, относящиеся к Virtual SAN:
Get-VsanClusterConfiguration
Get-VsanDisk
Get-VsanDiskGroup
Get-VsanFaultDomain
Get-VsanResyncingComponent
Get-VsanSpaceUsage
New-VsanDisk
New-VsanDiskGroup
New-VsanFaultDomain
Remove-VsanDisk
Remove-VsanDiskGroup
Remove-VsanFaultDomain
Set-VsanClusterConfiguration
Set-VsanFaultDomain
Test-VsanClusterHealth
Test-VsanNetworkPerformance
Test-VsanStoragePerformance
Test-VsanVMCreation
Update-VsanHclDatabase
Теперь также появились отдельные командлеты для работы с виртуальными дисками (при этом нет необходимости обращаться к самой виртуальной машине):
Copy-VDisk
Get-VDisk
Move-VDisk
New-VDisk
Remove-VDisk
Set-VDisk
Также есть группа командлетов, которая позволяет управлять новой фичей репликации VVOL, которая появилась в vSphere 6.5. Теперь можно искать fault domains и replication groups, синхронизировать их, а также подготавливать и стартовать процесс фейловера на целевую площадку:
Get-SpbmFaultDomain
Get-SpbmReplicationGroup
Get-SpbmReplicationPair
Start-SpbmReplicationFailover
Start-SpbmReplicationPrepareFailover
Sync-SpbmReplicationGroup
Совместимость с различными версиями vCenter, vSAN и SRM
Теперь PowerCLI 6.5 поддерживает все версии vCenter до 5.5:
А вот поддерживаемые версии vSAN и Site Recovery Manager (SRM):
Horizon Module
Теперь появился отдельный модуль, предназначенный для работы с решением VMware Horizon (пока поддерживается только Horizon 7.0.2). Теперь можно соединяться с Horizon Connection server, используя Connect-HVServer и Disconnect-HVServer, и выполнять различные действия, которые опубликованы через API. Загляните в репозиторий PowerCLI Examples, чтобы посмотреть на примеры использования.
PowerCLI Core
Теперь виртуальный модуль PowerCLI Core также имеет поддержку vSphere 6.5 API. То есть новыми командлетами теперь могут пользоваться и пользователи систем Linux, Mac и Docker.
Скачать VMware PowerCLI 6.5 R1 можно по этой ссылке. Release notes доступны тут, User Guide можно скачать здесь, а changelog вот тут.
Как мы недавно писали, в новой версии платформы виртуализации VMware vSphere 6.5 появившийся очень давно механизм VMware Storage IO Control (SIOC) теперь работает посредством политик хранилищ (Storage Policies) на базе интерфейса vSphere APIs for IO Filtering (VAIO). О том, как раньше работал SIOC на практическом примере мы уже писали вот тут. А тут мы упоминали о Storage Policy Based Management (SPBM).
Давайте теперь посмотрим, как все это взаимодействует вместе. Во-первых, надо сказать, что Storage IO Control начинает работать, когда на хосте ощущается недостаток ресурсов хранилища (пропускной способности) и виртуальные машины начинают конкурировать между собой. По умолчанию этот механизм выключен, поэтому машины разбираются между собой на общих основаниях.
Давайте включим SIOC для отдельного хранилища. Для этого в vSphere Client нажмем на него правой кнопкой и выберем "Configure SIOC":
Тут мы видим, что есть некоторый Congestion Threshold - это зачение в процентах загруженности хранилища (по пропускной способности) или по Latency (задается вручную), при превышении которого будет включен механизм борьбы за ресурсы SIOC. Также важна галка "Exclude I/O statistics from SDRS" - это Network-Aware DRS, то есть теперь механизм балансировки нагрузки по хранилищам SDRS по умолчанию не перемещает машины на загруженные в плане сети хосты (это можно отключить при желании).
Далее посмотрим на политики хранилищ. Для этого пойдем в раздел VM Storage Policy и далее в Storage Policy Components, где посмотрим параметры дефолтной политики "Normal":
Вот тут-то мы и видим параметры VMware SIOC, которые можно регулировать для данной политики, которая впоследствии будет применена к виртуальной машине или ее отдельным виртуальным дискам. Все то же самое - резервация и лимиты по IOPS, а также shares - то есть доли, которые будут иметь от общего объема shares объекты данной политики.
При создании новой политики хранения можно задать предопределенный набор Reservation, Limit и Shares в качестве компонента Datastore IO Control:
Также в политики хранения можно в качестве правил (rules) задавать определенные сервисы предоставляемые хостом (это понятие Line of Service) - например, шифрование дисков, кэширование, репликация и прочее. Все это доступно для редактирования при задании правил в рамках новой политики хранения (VM Storage Policy):
Ну а для назначения политики надо использовать пункт VM Policies в контекстном меню виртуальной машины, далее выбрать пункт Edit VM Storage Policies:
И далее назначаем стандартную или кастомную политику хранения для всех объектов виртуальной машины (Apply to all) или для отдельных виртуальных дисков (по умолчанию стоит политика, назначенная для всего датастора):
Таким образом, теперь SIOC и SPBM интегрированы в рамках единого рабочего процесса и удобны в использовании при управлении классами обслуживания в плане хранилищ для виртуальных машин и отдельных дисков VMDK.
Многие Enterprise-администраторы используют алармы (alarms) для оповещения о каких-либо сбоях в виртуальном датацентре VMware vSphere, а наиболее продвинутые из них даже пишут сценарии, выполняемые при том или ином срабатывании аларма в ответ на событие (event).
Но как протестировать выполнение этого действия, если вам нужно вызвать этот аларм, но сам ивент симулировать в производственной среде трудно (например, потеря соединения с хостом ESXi)?
Для этого во фреймворке PowerCLI предусмотрена возможность генерации "фейкового" аларма в VMware vCenter, который не затрагивает производственную среду. Сначала нам нужно найти имя этого ивента, по происхождении которого срабатывает аларм. Нужно пойти по этой ссылке и найти названия, оканчивающиеся на "Event".
Например, найдем HostConnectionLostEvent (потеря соединения с хостом ESXi):
Список событий также можно узнать, выполнив следующий сценарий PowerCLI:
Итак, возьмем событие HostConnectionLostEvent и выполним для него следующий сценарий:
# Usual load modules and connections
import-module VMware.VimAutomation.Core
connect-viserver 192.168.10.99
$server = $global:DefaultVIServer
$entity = Get-View (Get-VMHost -Name 192.168.10.240)
$eventMgr = Get-View $server.ExtensionData.Content.EventManager
# Subsitute your event to trigger
$event = New-Object VMware.Vim.HostConnectionLostEvent
# This property is specific to this event, and is required. This domain and user doesn't have to be an existing account.
$event.UserName = "CAGE.LOCAL\Chaos Monkey"
$hostEventArg = New-Object VMware.Vim.HostEventArgument
$hostEventArg.Host = $entity.MoRef
$hostEventArg.Name = "Host-is-a-label"
$event.Host = $HostEventArg
# Sends the event to vCenter
$eventMgr.PostEvent($event,$null)
Получим сгенерированный аларм в VMware vCenter (кликабельно):
Для некоторых ивентов заполнение некоторых данных свойств является обязательным. Например, если вы поменяете в сценарии выше строчку с инициализацией ивента вот на эту:
Exception calling "PostEvent" with "2" argument(s): "
Required property switchUuid is missing from data object of type UplinkPortVlanUntrunkedEvent
while parsing serialized DataObject of type vim.event.UplinkPortVlanUntrunkedEvent
Это значит, что вам надо добавить требуемый параметр - switchUuid. Заполним его для переменной $event:
$event.SwitchUuid = "Fake UUID"
После этого сценарий PowerCLI выполнится успешно, и мы увидим наш фейковый аларм в консоли vSphere Client:
Таким образом, вам надо изучить структуру свойств события, чтобы корректно исполнять сценарий, приведенный выше.
Как вы знаете, компания StarWind является одним из лидеров в производстве систем для организации программных хранилищ данных под виртуализацию VMware vSphere и Microsoft Hyper-V. Ее флагманский продукт StarWind Virtual SAN позволяет создать отказоустойчивое хранилище всего на базе двух серверов, которые могут еще и исполнять виртуальные машины.
Многие также в курсе, что у Virtual SAN есть плагин к vSphere, через который удобно управлять узлами кластера хранилищ и отслеживать их состояние. На днях вышел интересный документ "StarWind Management Console vSphere plugin", раскрывающий детали развертывания этого плагина, который может оказаться вам полезен:
Вот так примерно это выглядит по окончании установки:
Недавно мы писали о новых возможностях тонкого клиента vSphere HTML5 Web Client, для которого в последнее время было выпущено сразу несколько значимых обновлений. Однако немногие знают, что в состав дистрибутива этого клиента включено и средство разработки VMware HTML Client SDK, которое позволяет создавать собственные плагины к этому продукту для управления платформой vSphere.
Чтобы загрузить SDK, нужно на странице загрузки HTML5 Web Client выбрать пункт html-client-sdk-xxxx.zip:
В состав данного дистрибутива входят библиотеки, примеры плагинов, документация и различные утилиты, которые позволяют вам начать разрабатывать собственные интерфейсные расширения для HTML5 Web Client.
Кстати, эти расширения будут совместимы как с новым vSphere Client (на базе HTML5), так и с новым vSphere Web Client (на базе технологии Flex):
HTML Client SDK Fling построен на базе существующего программного интерфейса HTML Bridge API, что позволяет перенести существующие плагины для Flex на базе HTML Bridgeв новую среду для HTML5.
В комплекте с утилитой поставляется подробная информация по развертыванию и эксплуатации, приведенная в документе "Getting Started with HTML Client SDK Fling":
Там описана настройка HTML SDK, а также инструкции по регистрации плагинов на сервере vCenter и созданию простого учебного плагина:
В документе описаны 4 примера использования (chassisA, chassisB, globalview-html, vsphere-wssdk), которые представляют собой демонстрации таких сущностей, как портлеты, вкладки, действия, объекты и списки:
Также VMware HTML Client SDK содержит различные утилиты в виде исполняемых сценариев, которые вы можете использовать для создания новых типовых проектов. Они находятся в следующей директории:
…\html-client-sdk\tools\Plugin generation scripts
и называются create-html-plugin.sh для Mac OS и create-html-plugin.bat для Windows OS. Также есть новые скрипты для создания папки с составляющими пакета для плагина. Эти скрипты называются build-plugin-package.sh, и они появляются, когда созданы сервисы pluginName-ui и pluginName.
Болеее подробно о VMware HTML Client SDK можно узнать, загрузив утилиту со странички HTML5 Web Client.
Таги: VMware, Web Client, SDK, HTML Client, vCenter, Plugins, vSphere
Представляю вам функцию Compare-VMHost из моего PowerCLI модуля Vi-Module, которая позволяет сравнивать один или группу хостов ESXi с эталонным хостом. Что именно будет сравниваться, регулируется параметром –Compare. На данный момент функция умеет сравнивать по следующим критериям...